const data = {
    a: 1,
};

data.a = 2;

// vue2  es5
// Object.defineProperty(data, 'a', {
//     set(newValue) {
//         console.log('新值为：', newValue);
//         // render和生命周期
//     },
//     get() {
//         console.log('有人读取了该数据');
//     },
// });

// vue3/vuex4  es6
const observeData = new Proxy(data, {
    set (obj, key, newValue) {
        console.log('新值为：', newValue);
        // render和生命周期
    },
    get () {

    },
});

observeData.a = 3;
